/**
 * @param {number[]} nums1
 * @param {number} m
 * @param {number[]} nums2
 * @param {number} n
 * @return {void} Do not return anything, modify nums1 in-place instead.
 */
 var merge = function(nums1, m, nums2, n) {
    let om=m-1;
    let on=n-1;
    let tail=m+n-1;
    while(tail>=0){
        if(om>=0&&on<0){
            nums1[tail]=nums1[om];
            om--;
        }
        else if(on>=0&&om<0){
            nums1[tail]=nums2[on];
            on--;
        }
        else if(nums1[om]>=nums2[on]){
            nums1[tail]=nums1[om];
            om--;
        }
        else if(nums1[om]<nums2[on]){
            nums1[tail]=nums2[on];
            on--;
        }
        tail--;
    }
};

// 执行用时：
// 80 ms
// , 在所有 JavaScript 提交中击败了
// 83.49%
// 的用户
// 内存消耗：
// 37.9 MB
// , 在所有 JavaScript 提交中击败了
// 64.88%
// 的用户